package cn.edu.klmy.dao;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import cn.edu.klmy.models.role.Role;
import cn.edu.klmy.models.role.RoleMember;
import cn.edu.klmy.models.teacher.Teacher;
import cn.edu.klmy.models.user.User;
import org.springframework.jdbc.core.simple.SimpleJdbcInsert;

/**
 * 权限接口
 *
 * @author 顾伟
 *         创建日期：13-4-6
 */
public interface IAuthorityDao {
    /**
     * 通过用户标识获取该用户所属的用户组ID
     *
     * @param userId 用户标识
     * @return 用户所属的用户组ID
     */
    public List<Integer> getRoleIdsByUserID(int userId);

    /**
     * 读取所有角色列表
     *
     * @return 所有角色列表
     */
    public List<Role> getAllRoles();

    /**
     * 读取指定角色下所有用户
     *
     * @param roleId 读取指定角色标识
     * @return 角色下所有用户
     */
    public List<RoleMember> getRoleMember(int roleId);
    
    /**
     * 添加默认权限。
     * @param userId 用户ID
     */
    public void addDefaultPermission(int userId);
    
    /**
     * 删除某用户权限。
     * @param userId 用户ID
     */
    public void removeUserPermissions(int userId);

    public List<Teacher> getTeachersNotInRole(int roleId);

    public RoleMember addMemberToRole(int memberId,int roleId);

    public int deleteMemberFromRole(int memberId,int roleId);
    
}
